<!-- HTML header for doxygen 1.8.9.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: Dimensions&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Compute Library
   &#160;<span id="projectnumber">18.03</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.xhtml"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.xhtml"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.xhtml"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classarm__compute_1_1_dimensions.xhtml','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a>  </div>
  <div class="headertitle">
<div class="title">Dimensions&lt; T &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> with dimensionality.  
 <a href="classarm__compute_1_1_dimensions.xhtml#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa521fcebc508ef8447da413cc64d020a"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
<tr class="memitem:aa521fcebc508ef8447da413cc64d020a"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#aa521fcebc508ef8447da413cc64d020a">Dimensions</a> (Ts...dims)</td></tr>
<tr class="memdesc:aa521fcebc508ef8447da413cc64d020a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor to initialize the tensor shape.  <a href="#aa521fcebc508ef8447da413cc64d020a">More...</a><br /></td></tr>
<tr class="separator:aa521fcebc508ef8447da413cc64d020a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d3c59537291735849c740364496a41c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a0d3c59537291735849c740364496a41c">Dimensions</a> (const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a> &amp;)=default</td></tr>
<tr class="memdesc:a0d3c59537291735849c740364496a41c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be copy constructed.  <a href="#a0d3c59537291735849c740364496a41c">More...</a><br /></td></tr>
<tr class="separator:a0d3c59537291735849c740364496a41c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c96e96e2d005b4a8b66c2acd1688903"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a2c96e96e2d005b4a8b66c2acd1688903">operator=</a> (const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a> &amp;)=default</td></tr>
<tr class="memdesc:a2c96e96e2d005b4a8b66c2acd1688903"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be copied.  <a href="#a2c96e96e2d005b4a8b66c2acd1688903">More...</a><br /></td></tr>
<tr class="separator:a2c96e96e2d005b4a8b66c2acd1688903"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2c609345b3b6fa8da2486f75fff8ed8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#aa2c609345b3b6fa8da2486f75fff8ed8">Dimensions</a> (<a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a> &amp;&amp;)=default</td></tr>
<tr class="memdesc:aa2c609345b3b6fa8da2486f75fff8ed8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be move constructed.  <a href="#aa2c609345b3b6fa8da2486f75fff8ed8">More...</a><br /></td></tr>
<tr class="separator:aa2c609345b3b6fa8da2486f75fff8ed8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80565e11a35c48747bcc2cba06931e20"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a80565e11a35c48747bcc2cba06931e20">operator=</a> (<a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a> &amp;&amp;)=default</td></tr>
<tr class="memdesc:a80565e11a35c48747bcc2cba06931e20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be moved.  <a href="#a80565e11a35c48747bcc2cba06931e20">More...</a><br /></td></tr>
<tr class="separator:a80565e11a35c48747bcc2cba06931e20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a982730e6f0da5f9490f59bc5f6bb3f27"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a982730e6f0da5f9490f59bc5f6bb3f27">set</a> (size_t dimension, T <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>)</td></tr>
<tr class="memdesc:a982730e6f0da5f9490f59bc5f6bb3f27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor to set the value of one of the dimensions.  <a href="#a982730e6f0da5f9490f59bc5f6bb3f27">More...</a><br /></td></tr>
<tr class="separator:a982730e6f0da5f9490f59bc5f6bb3f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb5cd37bb08f1029691590372e6330f0"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#afb5cd37bb08f1029691590372e6330f0">x</a> () const </td></tr>
<tr class="memdesc:afb5cd37bb08f1029691590372e6330f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias to access the size of the first dimension.  <a href="#afb5cd37bb08f1029691590372e6330f0">More...</a><br /></td></tr>
<tr class="separator:afb5cd37bb08f1029691590372e6330f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a691c9cb93365c2e33f3429de43244098"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a> () const </td></tr>
<tr class="memdesc:a691c9cb93365c2e33f3429de43244098"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias to access the size of the second dimension.  <a href="#a691c9cb93365c2e33f3429de43244098">More...</a><br /></td></tr>
<tr class="separator:a691c9cb93365c2e33f3429de43244098"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a336121cb63ed79fa0a072eed03d694ac"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a336121cb63ed79fa0a072eed03d694ac">z</a> () const </td></tr>
<tr class="memdesc:a336121cb63ed79fa0a072eed03d694ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias to access the size of the third dimension.  <a href="#a336121cb63ed79fa0a072eed03d694ac">More...</a><br /></td></tr>
<tr class="separator:a336121cb63ed79fa0a072eed03d694ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4042981ab0351a730057258b672c8cab"><td class="memItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a4042981ab0351a730057258b672c8cab">operator[]</a> (size_t dimension) const </td></tr>
<tr class="memdesc:a4042981ab0351a730057258b672c8cab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic accessor to get the size of any dimension.  <a href="#a4042981ab0351a730057258b672c8cab">More...</a><br /></td></tr>
<tr class="separator:a4042981ab0351a730057258b672c8cab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac88390e0a6503d5d09c65d204980beb1"><td class="memItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#ac88390e0a6503d5d09c65d204980beb1">operator[]</a> (size_t dimension)</td></tr>
<tr class="memdesc:ac88390e0a6503d5d09c65d204980beb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic accessor to get the size of any dimension.  <a href="#ac88390e0a6503d5d09c65d204980beb1">More...</a><br /></td></tr>
<tr class="separator:ac88390e0a6503d5d09c65d204980beb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f59f175e7682c7ed5f4ea30ef687834"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a0f59f175e7682c7ed5f4ea30ef687834">num_dimensions</a> () const </td></tr>
<tr class="memdesc:a0f59f175e7682c7ed5f4ea30ef687834"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the effective dimensionality of the tensor.  <a href="#a0f59f175e7682c7ed5f4ea30ef687834">More...</a><br /></td></tr>
<tr class="separator:a0f59f175e7682c7ed5f4ea30ef687834"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a810a78f0b7cc0270f38d4136e023ea3b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a810a78f0b7cc0270f38d4136e023ea3b">set_num_dimensions</a> (size_t <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a0f59f175e7682c7ed5f4ea30ef687834">num_dimensions</a>)</td></tr>
<tr class="memdesc:a810a78f0b7cc0270f38d4136e023ea3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set number of dimensions.  <a href="#a810a78f0b7cc0270f38d4136e023ea3b">More...</a><br /></td></tr>
<tr class="separator:a810a78f0b7cc0270f38d4136e023ea3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c265a91027decdda59e5086c550d0f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a0c265a91027decdda59e5086c550d0f7">collapse</a> (const size_t n, const size_t first=0)</td></tr>
<tr class="memdesc:a0c265a91027decdda59e5086c550d0f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collapse dimensions.  <a href="#a0c265a91027decdda59e5086c550d0f7">More...</a><br /></td></tr>
<tr class="separator:a0c265a91027decdda59e5086c550d0f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a112cc1d5093b7672bf11569659251a7c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a112cc1d5093b7672bf11569659251a7c">collapse_from</a> (size_t start)</td></tr>
<tr class="memdesc:a112cc1d5093b7672bf11569659251a7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collapse dimensions starting from a given point.  <a href="#a112cc1d5093b7672bf11569659251a7c">More...</a><br /></td></tr>
<tr class="separator:a112cc1d5093b7672bf11569659251a7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2878b67ca384a699c1270900b31290b"><td class="memItemLeft" align="right" valign="top">std::array&lt; T, <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a> &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#ab2878b67ca384a699c1270900b31290b">begin</a> ()</td></tr>
<tr class="memdesc:ab2878b67ca384a699c1270900b31290b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a read/write iterator that points to the first element in the dimension array.  <a href="#ab2878b67ca384a699c1270900b31290b">More...</a><br /></td></tr>
<tr class="separator:ab2878b67ca384a699c1270900b31290b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeade0eaf149acac842e98d99d37e39c7"><td class="memItemLeft" align="right" valign="top">std::array&lt; T, <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a> &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#aeade0eaf149acac842e98d99d37e39c7">begin</a> () const </td></tr>
<tr class="memdesc:aeade0eaf149acac842e98d99d37e39c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a read-only (constant) iterator that points to the first element in the dimension array.  <a href="#aeade0eaf149acac842e98d99d37e39c7">More...</a><br /></td></tr>
<tr class="separator:aeade0eaf149acac842e98d99d37e39c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4498730adaf901d945c12841df994bba"><td class="memItemLeft" align="right" valign="top">std::array&lt; T, <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a> &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a4498730adaf901d945c12841df994bba">cbegin</a> () const </td></tr>
<tr class="memdesc:a4498730adaf901d945c12841df994bba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a read-only (constant) iterator that points to the first element in the dimension array.  <a href="#a4498730adaf901d945c12841df994bba">More...</a><br /></td></tr>
<tr class="separator:a4498730adaf901d945c12841df994bba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac684b52c6197edff9cccb3abd1e41f59"><td class="memItemLeft" align="right" valign="top">std::array&lt; T, <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a> &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#ac684b52c6197edff9cccb3abd1e41f59">end</a> ()</td></tr>
<tr class="memdesc:ac684b52c6197edff9cccb3abd1e41f59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a read/write iterator that points one past the last element in the dimension array.  <a href="#ac684b52c6197edff9cccb3abd1e41f59">More...</a><br /></td></tr>
<tr class="separator:ac684b52c6197edff9cccb3abd1e41f59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a819e633cd63b404cf9938bc6e755c170"><td class="memItemLeft" align="right" valign="top">std::array&lt; T, <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a> &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a819e633cd63b404cf9938bc6e755c170">end</a> () const </td></tr>
<tr class="memdesc:a819e633cd63b404cf9938bc6e755c170"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a read-only (constant) iterator that points one past the last element in the dimension array.  <a href="#a819e633cd63b404cf9938bc6e755c170">More...</a><br /></td></tr>
<tr class="separator:a819e633cd63b404cf9938bc6e755c170"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf9b6d55d708c285d58511a780e937fc"><td class="memItemLeft" align="right" valign="top">std::array&lt; T, <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a> &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#adf9b6d55d708c285d58511a780e937fc">cend</a> () const </td></tr>
<tr class="memdesc:adf9b6d55d708c285d58511a780e937fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a read-only (constant) iterator that points one past the last element in the dimension array.  <a href="#adf9b6d55d708c285d58511a780e937fc">More...</a><br /></td></tr>
<tr class="separator:adf9b6d55d708c285d58511a780e937fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a1b67d5b720119d50faa286c774579ecc"><td class="memItemLeft" align="right" valign="top">static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a> = <a class="el" href="namespacearm__compute.xhtml#a769d636d7a3c7c84579a5f477a18bc9d">MAX_DIMS</a></td></tr>
<tr class="memdesc:a1b67d5b720119d50faa286c774579ecc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of dimensions the tensor has.  <a href="#a1b67d5b720119d50faa286c774579ecc">More...</a><br /></td></tr>
<tr class="separator:a1b67d5b720119d50faa286c774579ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br />
class arm_compute::Dimensions&lt; T &gt;</h3>

<p><a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> with dimensionality. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00041">41</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa521fcebc508ef8447da413cc64d020a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a> </td>
          <td>(</td>
          <td class="paramtype">Ts...&#160;</td>
          <td class="paramname"><em>dims</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor to initialize the tensor shape. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dims</td><td>Values to initialize the dimensions. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00052">52</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

<p>Referenced by <a class="el" href="_dimensions_8h_source.xhtml#l00052">Dimensions&lt; size_t &gt;::Dimensions()</a>.</p>
<div class="fragment"><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        : _id{ { <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(dims)... } }, _num_dimensions{ <span class="keyword">sizeof</span>...(dims) }</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    {</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a0d3c59537291735849c740364496a41c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allow instances of this class to be copy constructed. </p>

</div>
</div>
<a class="anchor" id="aa2c609345b3b6fa8da2486f75fff8ed8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allow instances of this class to be move constructed. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ab2878b67ca384a699c1270900b31290b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::array&lt;T, <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a>&gt;::iterator begin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a read/write iterator that points to the first element in the dimension array. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00170">170</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

<p>Referenced by <a class="el" href="_dimensions_8h_source.xhtml#l00180">Dimensions&lt; size_t &gt;::cbegin()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00509">arm_compute::permute()</a>.</p>
<div class="fragment"><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    {</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        <span class="keywordflow">return</span> _id.begin();</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="aeade0eaf149acac842e98d99d37e39c7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::array&lt;T, <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a>&gt;::const_iterator begin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a read-only (constant) iterator that points to the first element in the dimension array. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00175">175</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    {</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <span class="keywordflow">return</span> _id.begin();</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a4498730adaf901d945c12841df994bba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::array&lt;T, <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a>&gt;::const_iterator cbegin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a read-only (constant) iterator that points to the first element in the dimension array. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00180">180</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

<p>Referenced by <a class="el" href="_dimensions_8h_source.xhtml#l00209">arm_compute::operator==()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00269">SimpleTensor&lt; T &gt;::size()</a>.</p>
<div class="fragment"><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    {</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_dimensions.xhtml#ab2878b67ca384a699c1270900b31290b">begin</a>();</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    }</div><div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_ab2878b67ca384a699c1270900b31290b"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#ab2878b67ca384a699c1270900b31290b">arm_compute::Dimensions::begin</a></div><div class="ttdeci">std::array&lt; T, num_max_dimensions &gt;::iterator begin()</div><div class="ttdoc">Returns a read/write iterator that points to the first element in the dimension array. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00170">Dimensions.h:170</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="adf9b6d55d708c285d58511a780e937fc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::array&lt;T, <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a>&gt;::const_iterator cend </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a read-only (constant) iterator that points one past the last element in the dimension array. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00195">195</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

<p>Referenced by <a class="el" href="_dimensions_8h_source.xhtml#l00209">arm_compute::operator==()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00269">SimpleTensor&lt; T &gt;::size()</a>.</p>
<div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    {</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_dimensions.xhtml#ac684b52c6197edff9cccb3abd1e41f59">end</a>();</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    }</div><div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_ac684b52c6197edff9cccb3abd1e41f59"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#ac684b52c6197edff9cccb3abd1e41f59">arm_compute::Dimensions::end</a></div><div class="ttdeci">std::array&lt; T, num_max_dimensions &gt;::iterator end()</div><div class="ttdoc">Returns a read/write iterator that points one past the last element in the dimension array...</div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00185">Dimensions.h:185</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a0c265a91027decdda59e5086c550d0f7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void collapse </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>first</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Collapse dimensions. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of dimensions to collapse into <code>first</code>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">first</td><td><a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> into which the following <code>n</code> are collapsed. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00138">138</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

<p>Referenced by <a class="el" href="_tensor_shape_8h_source.xhtml#l00128">TensorShape::collapse()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00162">Dimensions&lt; size_t &gt;::collapse_from()</a>.</p>
<div class="fragment"><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    {</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first + n &gt; _id.size());</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">size_t</span> last = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(_num_dimensions, first + n);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <span class="keywordflow">if</span>(last &gt; (first + 1))</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        {</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;            <span class="comment">// Collapse dimensions into the first</span></div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;            _id[first] = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(&amp;_id[first], &amp;_id[last], 1, std::multiplies&lt;T&gt;());</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;            <span class="comment">// Shift the remaining dimensions down</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;            std::copy(&amp;_id[last], &amp;_id[_num_dimensions], &amp;_id[first + 1]);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;            <span class="comment">// Reduce the number of dimensions</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;            <span class="keyword">const</span> <span class="keywordtype">size_t</span> old_num_dimensions = _num_dimensions;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;            _num_dimensions -= last - first - 1;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;            <span class="comment">// Fill the now empty dimensions with zero</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;            std::fill(&amp;_id[_num_dimensions], &amp;_id[old_num_dimensions], 0);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        }</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
<div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a112cc1d5093b7672bf11569659251a7c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void collapse_from </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>start</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Collapse dimensions starting from a given point. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">start</td><td>Starting point of collapsing dimensions </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00162">162</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    {</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(start &gt; <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a0f59f175e7682c7ed5f4ea30ef687834">num_dimensions</a>());</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a0c265a91027decdda59e5086c550d0f7">collapse</a>(<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a0f59f175e7682c7ed5f4ea30ef687834">num_dimensions</a>() - start, start);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a0c265a91027decdda59e5086c550d0f7"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a0c265a91027decdda59e5086c550d0f7">arm_compute::Dimensions::collapse</a></div><div class="ttdeci">void collapse(const size_t n, const size_t first=0)</div><div class="ttdoc">Collapse dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00138">Dimensions.h:138</a></div></div>
<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a0f59f175e7682c7ed5f4ea30ef687834"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a0f59f175e7682c7ed5f4ea30ef687834">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const </div><div class="ttdoc">Returns the effective dimensionality of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ac684b52c6197edff9cccb3abd1e41f59"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::array&lt;T, <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a>&gt;::iterator end </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a read/write iterator that points one past the last element in the dimension array. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00185">185</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

<p>Referenced by <a class="el" href="_dimensions_8h_source.xhtml#l00195">Dimensions&lt; size_t &gt;::cend()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00509">arm_compute::permute()</a>.</p>
<div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    {</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keywordflow">return</span> _id.end();</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a819e633cd63b404cf9938bc6e755c170"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::array&lt;T, <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a>&gt;::const_iterator end </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a read-only (constant) iterator that points one past the last element in the dimension array. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00190">190</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    {</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        <span class="keywordflow">return</span> _id.end();</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a0f59f175e7682c7ed5f4ea30ef687834"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int num_dimensions </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the effective dimensionality of the tensor. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00122">122</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

<p>Referenced by <a class="el" href="_graph_utils_8cpp_source.xhtml#l00333">NumPyBinLoader::access_tensor()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00192">TensorShape::broadcast_shape()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00291">arm_compute::calculate_valid_region_scale()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00162">Dimensions&lt; size_t &gt;::collapse_from()</a>, <a class="el" href="_validation_8h_source.xhtml#l00134">arm_compute::test::validation::compare_dimensions()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00432">arm_compute::test::coord2index()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00343">arm_compute::coords2index()</a>, <a class="el" href="_tensor_shape_8cpp_source.xhtml#l00039">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="validation_2reference_2_fully_connected_layer_8cpp_source.xhtml#l00152">arm_compute::test::validation::reference::fully_connected_layer()</a>, <a class="el" href="_le_net5_network_8h_source.xhtml#l00161">LeNet5Network&lt; TensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, FullyConnectedLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_mobile_net_network_8h_source.xhtml#l00170">MobileNetNetwork&lt; TensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, DepthwiseConvolutionLayerFunction, ReshapeFunction, PoolingLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_mobile_net_v1_network_8h_source.xhtml#l00205">MobileNetV1Network&lt; TensorType, arm_compute::test::Accessor, ActivationLayerFunction, BatchNormalizationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, DepthwiseConvolutionFunction, ReshapeFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_alex_net_network_8h_source.xhtml#l00422">AlexNetNetwork&lt; ITensorType, TensorType, SubTensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00403">arm_compute::test::index2coord()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00324">arm_compute::index2coords()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00442">arm_compute::intersect_valid_regions()</a>, <a class="el" href="_sub_tensor_info_8h_source.xhtml#l00145">SubTensorInfo::num_dimensions()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00247">TensorInfo::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00209">arm_compute::operator==()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00509">arm_compute::permute()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00128">Dimensions&lt; size_t &gt;::set_num_dimensions()</a>, <a class="el" href="benchmark_2fixtures_2_pooling_layer_fixture_8h_source.xhtml#l00043">PoolingLayerFixture&lt; TensorType, Function, Accessor &gt;::setup()</a>, <a class="el" href="benchmark_2fixtures_2_activation_layer_fixture_8h_source.xhtml#l00043">ActivationLayerFixture&lt; TensorType, Function, Accessor &gt;::setup()</a>, <a class="el" href="benchmark_2fixtures_2_fully_connected_layer_fixture_8h_source.xhtml#l00043">FullyConnectedLayerFixture&lt; TensorType, Function, Accessor &gt;::setup()</a>, <a class="el" href="benchmark_2fixtures_2_normalization_layer_fixture_8h_source.xhtml#l00043">NormalizationLayerFixture&lt; TensorType, Function, Accessor &gt;::setup()</a>, <a class="el" href="benchmark_2fixtures_2_batch_normalization_layer_fixture_8h_source.xhtml#l00043">BatchNormalizationLayerFixture&lt; TensorType, Function, Accessor &gt;::setup()</a>, <a class="el" href="benchmark_2fixtures_2_normalize_planar_y_u_v_layer_fixture_8h_source.xhtml#l00043">NormalizePlanarYUVLayerFixture&lt; TensorType, Function, Accessor &gt;::setup()</a>, <a class="el" href="_r_o_i_pooling_layer_fixture_8h_source.xhtml#l00045">ROIPoolingLayerFixture&lt; TensorType, Function, Accessor, Array_T, ArrayAccessor &gt;::setup()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00212">arm_compute::test::shape_to_valid_region()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00246">arm_compute::test::shape_to_valid_region_gaussian_pyramid_half()</a>, <a class="el" href="_window_8inl_source.xhtml#l00240">Window::use_tensor_dimensions()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00149">arm_compute::test::validation::validate()</a>.</p>
<div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    {</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keywordflow">return</span> _num_dimensions;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a2c96e96e2d005b4a8b66c2acd1688903"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&amp; operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allow instances of this class to be copied. </p>

<p>Referenced by <a class="el" href="_dimensions_8h_source.xhtml#l00052">Dimensions&lt; size_t &gt;::Dimensions()</a>.</p>

</div>
</div>
<a class="anchor" id="a80565e11a35c48747bcc2cba06931e20"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&amp; operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allow instances of this class to be moved. </p>

</div>
</div>
<a class="anchor" id="a4042981ab0351a730057258b672c8cab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const T&amp; operator[] </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>dimension</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Generic accessor to get the size of any dimension. </p>
<dl class="section note"><dt>Note</dt><dd>Precondition: dimension &lt; <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc" title="Number of dimensions the tensor has. ">Dimensions::num_max_dimensions</a></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dimension</td><td>Dimension of the wanted size</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The size of the requested dimension. </dd></dl>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00103">103</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    {</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(dimension &gt;= <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a>);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <span class="keywordflow">return</span> _id[dimension];</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ac88390e0a6503d5d09c65d204980beb1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T&amp; operator[] </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>dimension</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Generic accessor to get the size of any dimension. </p>
<dl class="section note"><dt>Note</dt><dd>Precondition: dimension &lt; <a class="el" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc" title="Number of dimensions the tensor has. ">Dimensions::num_max_dimensions</a></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dimension</td><td>Dimension of the wanted size</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The size of the requested dimension. </dd></dl>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00116">116</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    {</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(dimension &gt;= <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a>);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordflow">return</span> _id[dimension];</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a982730e6f0da5f9490f59bc5f6bb3f27"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>dimension</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Accessor to set the value of one of the dimensions. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dimension</td><td>Dimension for which the value is set. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to be set for the dimension. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00074">74</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

<p>Referenced by <a class="el" href="tests_2validation_2reference_2_utils_8h_source.xhtml#l00096">arm_compute::test::validation::apply_2d_spatial_filter()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00291">arm_compute::calculate_valid_region_scale()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00474">arm_compute::compute_strides()</a>, <a class="el" href="validation_2reference_2_depthwise_convolution_layer_8cpp_source.xhtml#l00053">arm_compute::test::validation::reference::depthwise_convolution()</a>, <a class="el" href="reference_2_dilate_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::dilate()</a>, <a class="el" href="reference_2_erode_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::erode()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00442">arm_compute::intersect_valid_regions()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00509">arm_compute::permute()</a>, <a class="el" href="reference_2_remap_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::remap()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00077">TensorShape::set()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00212">arm_compute::test::shape_to_valid_region()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00246">arm_compute::test::shape_to_valid_region_gaussian_pyramid_half()</a>, <a class="el" href="tests_2validation_2reference_2_utils_8h_source.xhtml#l00061">arm_compute::test::validation::tensor_elem_at()</a>, <a class="el" href="tests_2validation_2reference_2_utils_8cpp_source.xhtml#l00069">arm_compute::test::validation::transpose()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00227">arm_compute::test::validation::validate()</a>.</p>
<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    {</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(dimension &gt;= <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">num_max_dimensions</a>);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        _id[dimension]  = <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        _num_dimensions = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(_num_dimensions, dimension + 1);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00278">hwc.hpp:278</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a810a78f0b7cc0270f38d4136e023ea3b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_num_dimensions </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>num_dimensions</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set number of dimensions. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00128">128</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

<p>Referenced by <a class="el" href="utils_2_utils_8h_source.xhtml#l00537">NPYLoader::init_tensor()</a>.</p>
<div class="fragment"><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    {</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        _num_dimensions = <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a0f59f175e7682c7ed5f4ea30ef687834">num_dimensions</a>;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    }</div><div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a0f59f175e7682c7ed5f4ea30ef687834"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a0f59f175e7682c7ed5f4ea30ef687834">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const </div><div class="ttdoc">Returns the effective dimensionality of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="afb5cd37bb08f1029691590372e6330f0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T x </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Alias to access the size of the first dimension. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00081">81</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

<p>Referenced by <a class="el" href="tests_2validation_2reference_2_utils_8h_source.xhtml#l00096">arm_compute::test::validation::apply_2d_spatial_filter()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00633">arm_compute::calculate_depth_concatenate_shape()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00511">arm_compute::test::create_multi_image()</a>, <a class="el" href="validation_2_c_l_2_fully_connected_layer_8cpp_source.xhtml#l00071">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="validation_2reference_2_depthwise_convolution_layer_8cpp_source.xhtml#l00116">arm_compute::test::validation::reference::depthwise_convolution()</a>, <a class="el" href="reference_2_dilate_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::dilate()</a>, <a class="el" href="reference_2_erode_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::erode()</a>, <a class="el" href="reference_2_fast_corners_8cpp_source.xhtml#l00152">arm_compute::test::validation::reference::fast_corners()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00388">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00552">arm_compute::test::generate_random_rois()</a>, <a class="el" href="_le_net5_network_8h_source.xhtml#l00161">LeNet5Network&lt; TensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, FullyConnectedLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_mobile_net_network_8h_source.xhtml#l00170">MobileNetNetwork&lt; TensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, DepthwiseConvolutionLayerFunction, ReshapeFunction, PoolingLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_mobile_net_v1_network_8h_source.xhtml#l00205">MobileNetV1Network&lt; TensorType, arm_compute::test::Accessor, ActivationLayerFunction, BatchNormalizationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, DepthwiseConvolutionFunction, ReshapeFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_alex_net_network_8h_source.xhtml#l00422">AlexNetNetwork&lt; ITensorType, TensorType, SubTensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="reference_2_h_o_g_descriptor_8cpp_source.xhtml#l00226">arm_compute::test::validation::reference::hog_descriptor()</a>, <a class="el" href="reference_2_median3x3_8cpp_source.xhtml#l00044">arm_compute::test::validation::reference::median3x3()</a>, <a class="el" href="reference_2_non_linear_filter_8cpp_source.xhtml#l00036">arm_compute::test::validation::reference::non_linear_filter()</a>, <a class="el" href="_non_maxima_suppression_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::non_maxima_suppression()</a>, <a class="el" href="validation_2reference_2_scale_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::scale()</a>, <a class="el" href="_scale_layer_fixture_8h_source.xhtml#l00044">ScaleLayerFixture&lt; TensorType, Function, Accessor, T &gt;::setup()</a>, <a class="el" href="benchmark_2fixtures_2_scale_fixture_8h_source.xhtml#l00044">ScaleFixture&lt; TensorType, Function, Accessor &gt;::setup()</a>, <a class="el" href="validation_2fixtures_2_scale_fixture_8h_source.xhtml#l00047">ScaleValidationFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>, <a class="el" href="_h_o_g_descriptor_fixture_8h_source.xhtml#l00048">HOGDescriptorValidationFixture&lt; TensorType, HOGType, AccessorType, FunctionType, T, U &gt;::setup()</a>, <a class="el" href="_remap_fixture_8h_source.xhtml#l00049">RemapValidationFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>, <a class="el" href="validation_2fixtures_2_fully_connected_layer_fixture_8h_source.xhtml#l00056">FullyConnectedLayerValidationGenericFixture&lt; TensorType, AccessorType, FunctionType, T, run_interleave &gt;::setup()</a>, <a class="el" href="validation_2fixtures_2_convolution_layer_fixture_8h_source.xhtml#l00057">ConvolutionValidationGenericFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>, <a class="el" href="_direct_convolution_layer_fixture_8h_source.xhtml#l00069">DirectConvolutionValidationGenericFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>, <a class="el" href="_direct_convolution_layer_tensor_shift_fixture_8h_source.xhtml#l00070">DirectConvolutionValidationGenericTensorShiftFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>, <a class="el" href="_deconvolution_layer_fixture_8h_source.xhtml#l00141">DeconvolutionValidationFixture&lt; TensorType, AccessorType, FunctionType, T, kernel_size_x, kernel_size_y &gt;::setup()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00212">arm_compute::test::shape_to_valid_region()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00246">arm_compute::test::shape_to_valid_region_gaussian_pyramid_half()</a>, <a class="el" href="tests_2validation_2reference_2_utils_8h_source.xhtml#l00061">arm_compute::test::validation::tensor_elem_at()</a>, <a class="el" href="validation_2reference_2_transpose_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::transpose()</a>, <a class="el" href="tests_2validation_2reference_2_utils_8cpp_source.xhtml#l00069">arm_compute::test::validation::transpose()</a>, <a class="el" href="reference_2_warp_affine_8cpp_source.xhtml#l00050">arm_compute::test::validation::reference::warp_affine()</a>, and <a class="el" href="reference_2_warp_perspective_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::warp_perspective()</a>.</p>
<div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    {</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="keywordflow">return</span> _id[0];</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a691c9cb93365c2e33f3429de43244098"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T y </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Alias to access the size of the second dimension. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00086">86</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

<p>Referenced by <a class="el" href="tests_2validation_2reference_2_utils_8h_source.xhtml#l00096">arm_compute::test::validation::apply_2d_spatial_filter()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00633">arm_compute::calculate_depth_concatenate_shape()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00445">arm_compute::colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00389">arm_compute::colorconvert_nv12_to_rgb()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00511">arm_compute::test::create_multi_image()</a>, <a class="el" href="validation_2_c_l_2_fully_connected_layer_8cpp_source.xhtml#l00071">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="validation_2reference_2_depthwise_convolution_layer_8cpp_source.xhtml#l00116">arm_compute::test::validation::reference::depthwise_convolution()</a>, <a class="el" href="reference_2_dilate_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::dilate()</a>, <a class="el" href="reference_2_erode_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::erode()</a>, <a class="el" href="reference_2_fast_corners_8cpp_source.xhtml#l00152">arm_compute::test::validation::reference::fast_corners()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00388">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00552">arm_compute::test::generate_random_rois()</a>, <a class="el" href="reference_2_h_o_g_descriptor_8cpp_source.xhtml#l00226">arm_compute::test::validation::reference::hog_descriptor()</a>, <a class="el" href="_non_maxima_suppression_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::non_maxima_suppression()</a>, <a class="el" href="benchmark_2fixtures_2_scale_fixture_8h_source.xhtml#l00044">ScaleFixture&lt; TensorType, Function, Accessor &gt;::setup()</a>, <a class="el" href="_scale_layer_fixture_8h_source.xhtml#l00044">ScaleLayerFixture&lt; TensorType, Function, Accessor, T &gt;::setup()</a>, <a class="el" href="validation_2fixtures_2_scale_fixture_8h_source.xhtml#l00047">ScaleValidationFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>, <a class="el" href="_h_o_g_descriptor_fixture_8h_source.xhtml#l00048">HOGDescriptorValidationFixture&lt; TensorType, HOGType, AccessorType, FunctionType, T, U &gt;::setup()</a>, <a class="el" href="_remap_fixture_8h_source.xhtml#l00049">RemapValidationFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>, <a class="el" href="validation_2fixtures_2_fully_connected_layer_fixture_8h_source.xhtml#l00056">FullyConnectedLayerValidationGenericFixture&lt; TensorType, AccessorType, FunctionType, T, run_interleave &gt;::setup()</a>, <a class="el" href="validation_2fixtures_2_convolution_layer_fixture_8h_source.xhtml#l00057">ConvolutionValidationGenericFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>, <a class="el" href="_direct_convolution_layer_fixture_8h_source.xhtml#l00069">DirectConvolutionValidationGenericFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>, <a class="el" href="_direct_convolution_layer_tensor_shift_fixture_8h_source.xhtml#l00070">DirectConvolutionValidationGenericTensorShiftFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>, <a class="el" href="_deconvolution_layer_fixture_8h_source.xhtml#l00141">DeconvolutionValidationFixture&lt; TensorType, AccessorType, FunctionType, T, kernel_size_x, kernel_size_y &gt;::setup()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00212">arm_compute::test::shape_to_valid_region()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00246">arm_compute::test::shape_to_valid_region_gaussian_pyramid_half()</a>, <a class="el" href="tests_2validation_2reference_2_utils_8h_source.xhtml#l00061">arm_compute::test::validation::tensor_elem_at()</a>, <a class="el" href="validation_2reference_2_transpose_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::transpose()</a>, and <a class="el" href="tests_2validation_2reference_2_utils_8cpp_source.xhtml#l00069">arm_compute::test::validation::transpose()</a>.</p>
<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    {</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="keywordflow">return</span> _id[1];</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a336121cb63ed79fa0a072eed03d694ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T z </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Alias to access the size of the third dimension. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00091">91</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00633">arm_compute::calculate_depth_concatenate_shape()</a>, <a class="el" href="validation_2reference_2_depthwise_convolution_layer_8cpp_source.xhtml#l00116">arm_compute::test::validation::reference::depthwise_convolution()</a>, <a class="el" href="_r_o_i_pooling_layer_fixture_8h_source.xhtml#l00045">ROIPoolingLayerFixture&lt; TensorType, Function, Accessor, Array_T, ArrayAccessor &gt;::setup()</a>, <a class="el" href="_direct_convolution_layer_fixture_8h_source.xhtml#l00051">DirectConvolutionValidationGenericFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>, <a class="el" href="_direct_convolution_layer_tensor_shift_fixture_8h_source.xhtml#l00052">DirectConvolutionValidationGenericTensorShiftFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>, and <a class="el" href="_deconvolution_layer_fixture_8h_source.xhtml#l00141">DeconvolutionValidationFixture&lt; TensorType, AccessorType, FunctionType, T, kernel_size_x, kernel_size_y &gt;::setup()</a>.</p>
<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    {</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <span class="keywordflow">return</span> _id[2];</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Field Documentation</h2>
<a class="anchor" id="a1b67d5b720119d50faa286c774579ecc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr size_t num_max_dimensions = <a class="el" href="namespacearm__compute.xhtml#a769d636d7a3c7c84579a5f477a18bc9d">MAX_DIMS</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Number of dimensions the tensor has. </p>

<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00045">45</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>arm_compute/core/<a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a></li>
    <li class="footer">Generated on Fri Mar 2 2018 12:37:58 for Compute Library by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
